Security News
JavaScript Leaders Demand Oracle Release the JavaScript Trademark
In an open letter, JavaScript community leaders urge Oracle to give up the JavaScript trademark, arguing that it has been effectively abandoned through nonuse.
@sinonjs/samsam
Advanced tools
The @sinonjs/samsam package is a library designed for deep comparison and matching of objects, arrays, and other JavaScript data types. It is particularly useful in the context of testing, where developers need to assert the equality of complex objects and arrays.
Deep equality
This feature allows for the deep comparison of objects, arrays, and other complex data structures to determine if they are equal in structure and content.
const samsam = require('@sinonjs/samsam');
const obj1 = { a: 1, b: { c: 2 } };
const obj2 = { a: 1, b: { c: 2 } };
console.log(samsam.deepEqual(obj1, obj2)); // outputs: true
Match object properties
This functionality enables matching objects against specified criteria, useful for asserting the presence of certain properties or property values within an object.
const samsam = require('@sinonjs/samsam');
const obj = { a: 1, b: 2 };
console.log(samsam.match(obj, { a: 1 })); // outputs: true
Chai is a BDD / TDD assertion library for node and the browser that can be delightfully paired with any javascript testing framework. It offers similar deep equality assertions and matchers but with a more extensive plugin ecosystem and chainable methods, providing a more flexible and expressive approach compared to @sinonjs/samsam.
This package provides a simple and straightforward implementation of deep equality comparison. While it covers the basic need of deep equality checks, it lacks the additional matching capabilities and custom assertions provided by @sinonjs/samsam.
Value identification and comparison functions
Documentation: http://sinonjs.github.io/samsam/
Support us with a monthly donation and help us continue our activities. [Become a backer]
Become a sponsor and get your logo on our README on GitHub with a link to your site. [Become a sponsor]
samsam was released under BSD-3
5.3.1
04e0faa
Distribute package as source (Morgan Roderick)
This library is not meant for writing end user applications or even for being used directly when writing tests. It is not meant to be loaded directly by browsers.
Consumers of this package are assumed to use their own bundlers, should they need to bundle code for use in browsers or workers.
Therefore, it is safe to distribute the package as source files and not bundle them up.
This allows us to remove the bundler and its transitive dependencies, which reduces the maintenance burden of managing the library.
Released on 2021-01-13.
FAQs
Value identification and comparison functions
The npm package @sinonjs/samsam receives a total of 3,917,908 weekly downloads. As such, @sinonjs/samsam popularity was classified as popular.
We found that @sinonjs/samsam demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 6 open source maintainers collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
In an open letter, JavaScript community leaders urge Oracle to give up the JavaScript trademark, arguing that it has been effectively abandoned through nonuse.
Security News
The initial version of the Socket Python SDK is now on PyPI, enabling developers to more easily interact with the Socket REST API in Python projects.
Security News
Floating dependency ranges in npm can introduce instability and security risks into your project by allowing unverified or incompatible versions to be installed automatically, leading to unpredictable behavior and potential conflicts.